package com.situ.redis.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.Jedis;

@Configuration
// 让spring能识别这个配置类，程序启动就把这个bean放到spring容器中
@EnableConfigurationProperties(MyRedisProperties.class)
public class RedisAutoConfiguration {

    @Bean
    // 用户没有提供jedis的bean，我们的才生效
    @ConditionalOnMissingBean(name = "jedis")
    public Jedis jedis(MyRedisProperties myRedisProperties) {
        // 这个参数不应该写死，应该从用户项目定义的配置文件获取
        // 需要一个实体了和配置文件相绑定
        // return new Jedis("localhost", 6379);
        return new Jedis(myRedisProperties.getHost(), myRedisProperties.getPort());
    }
}
